package com.cskaoyan.wordmemorize.dao.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.cskaoyan.wordmemorize.dao.entity.ExampleSentenceDO;
import com.cskaoyan.wordmemorize.dao.entity.UserVocExampleSentenceDO;
import com.cskaoyan.wordmemorize.dao.entity.VocDO;
import com.cskaoyan.wordmemorize.dao.entity.VocMeaningDO;
import groovyjarjarantlr4.v4.runtime.misc.Nullable;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface VocMapper extends BaseMapper<VocDO> {

    Page<VocDO> getVocabularyInfo(@Param("bookId") @Nullable Long bookId,
                                  @Param("chapterId") @Nullable Long chapterId,
                                  @Param("keyword") @Nullable String keyword,
                                  Page<VocDO> pageInfo);

    void batchInsert(List<VocDO> list);


    // todo 获取完整的单词详情
    VocDO getCompleteVocDetail(@Param("vocId") Long vocId, @Param("userId") Long userId);

    // todo 有和无章节版本都可
    List<VocDO> getCompleteVocDetails(@Param("vocIds") List<Long> vocIds, @Param("userId") Long userId);
}
